= bagend
apiote <me@apiote.xyz>
v1.0.0 2022-02-10
:toc:

bagend is a simple library which provides `Assert` and kotlin-like `TODO` functions for Go.

== Usage

`Assert` accepts two arguments: `bool` condition and a `string` message. If the condition is false, `Assert` panics with `string` including the message from second argument and the position in code.

----
// this will pass
bagend.Assert(2+2 == 4, "2+2 must equal 4")

// ths will panic
bagend.Assert(2+2 == 5, "2+2 must equal 4")
----

`TODO` accepts a `string` message and always panics with it and position in code. It also returns an `interface{}` so that it can be used in functions that return.

----
func convertNumber(number int) int {
	return bagend.TODO("implement me later").(int)
}
----

== Contribute

This project is finished; no more functions will be implemented; all feature requests will be ignored.

This project uses The Code of Merit, which is available as CODE_OF_CONDUCT file.

Fixes and patches are welcome; please send them to `bagend@git.apiote.xyz` using `git send-email`. They must include a sign-off to certify agreement to https://developercertificate.org/[Developer Certificate of Origin].

All communication—questions, bugs, etc.—should go through the mailing list available at `bagend@git.apiote.xyz`. Note that all communication will be made public at https://asgard.apiote.xyz/.

== Mirrors

The canonical repository for this project is https://git.apiote.xyz/bagend.git it’s mirrored at https://notabug.org/apiote/bagend

Mirrors exist solely for the sake of the code and any additional functions provided by third-party services (including but not limited to issues and pull requests) will not be used and will be ignored.

== License

----
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at https://mozilla.org/MPL/2.0/.
----
